#include <stdio.h>
#include <stdlib.h>

int gobal_val=100;//全局变量已经初始化
int gobal_unval;//全局变量未初始化
int main(int argc,char* argv[],char* env[])
{
    printf("main函数处于代码段，地址为：%p,十进制为：%d\n",main,main);
      printf("\n");
        printf("全局变量gobal_val，地址为：%p,十进制为:%d\n",&gobal_val,&gobal_val);
          printf("\n");
            printf("全局变量未初始化gobal_unval，地址为：%p,十进制为:%d\n",&gobal_unval,&gobal_unval);
              printf("\n");
                
                char* mem=(char*)malloc(10);
                  
                  printf("mem开辟的堆空间，mem是堆的起始地址，是%p,十进制为：%d\n",mem,mem);
                    printf("\n"); 
                      printf("mem是指针变量，指针变量在栈上开采，其地址为%p,十进制为：%d\n",&mem,&mem);
                        printf("\n"); 
                          printf("命令行参数起始地址：%p,十进制为：%d\n",argv[0],argv[0]);
                            printf("\n");
                              printf("命令行参数结束地址：%p,十进制为：%d\n",argv[argc-1],argv[argc-1]);
                                printf("\n");
                                  printf("第一个环境变量的地址：%p,十进制为：%d\n",env[0],env[0]);
                                    printf("\n");

}

